<template>
    <div>
        <!--顶部滑动条-->
        <div id="slider" class="mui-slider">
            <div id="sliderSegmentedControl"
                 class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
                <div class="mui-scroll">
                    <a :class="['mui-control-item',item.id == 0?'mui-active':'']" v-for="item in cates" :key="item.id"
                       @tap="getPhotoListByCateId(item.id)">
                        {{item.title}}
                    </a>
                </div>
            </div>

        </div>

        <!--图片列表区域-->
        <ul class="photo-list">
            <!--默认router-link渲染成span，通过tag修改渲染出来的标签-->
            <!--这里改变网页地址，router监控网页地址的变换，从而把对应的网址给对应的组件-->
            <router-link v-for="item in img_list" :key="item.id" :to="'/home/photoinfo/'+item.id" tag="li">
                <img v-lazy="item.img_url">
                <div class="info">
                    <h2 class="info-title">{{item.title}}</h2>
                    <div class="info-body">{{item.zhaiyao}}</div>
                </div>
            </router-link>
        </ul>

    </div>
</template>

<script>
  //导入mui的js文件
  import mui from '../../lib/mui/js/mui.min.js'

  export default {
    data() {
      return {
        cates: [],//所有分类列表
        img_list: []//所有图片列表的数据
      }
    },
    mounted() { //vue挂载到元素后执行，如果要操作元素了，最好在mounted里，因为这时候的DOM元素是最新的
      //初始化滑动空间
      mui('.mui-scroll-wrapper').scroll({
        deceleration: 0.0005 //flick 减速系数，系数越大，滚动速度越慢，滚动距离越小，默认值0.0006
      })
    },
    created() {
      this.getAllCategory()
      //默认进入页面就请求所有图片
      this.getPhotoListByCateId(0)
    },
    methods: {
      getAllCategory() {
        this.$http.get(this.COMMON.apiList['图片分类数据']).then(response => {
          if (response.body.status === 0) {
            //手动拼接分类列表
            response.body.message.unshift({title: '全部', id: 0})
            this.cates = response.body.message
            // mui.toast('加载图片分类数据成功', {duration: 'long', type: 'div'})
          } else {
            mui.toast('加载图片分类数据失败', {duration: 'long', type: 'div'})
          }
        })
      },
      getPhotoListByCateId(cateId) {
        console.log(cateId)
        this.$http.get(this.COMMON.apiList["图片列表数据"] + cateId).then(response => {
          if (response.body.status === 0) {
            this.img_list = response.body.message
          } else {
            mui.toast('加载图片失败', {duration: 'long', type: 'div'})
          }
        })
      }
    }
  }
</script>

<style lang="scss" scoped>
    * {
        touch-action: pan-y;
    }

    .photo-list {
        margin: 0;
        padding: 10px;
        padding-bottom: 0;
        list-style: none;
        li {
            background-color: #cccccc;
            text-align: center;
            margin-bottom: 10px;
            box-shadow: 0 0 10px #888888;
            /*此处子绝父相，父元素还占据着原来的位置*/
            position: relative;
            img {
                width: 100%;
                vertical-align: middle;
            }
            img[lazy=loading] {
                width: 40px;
                height: 300px;
                margin: auto;
            }
            .info {
                color: #ffffff;
                text-align: left;
                /*而子元素可以在父元素内部随便定位，子元素从父元素出发设置自身位置*/
                position: absolute;
                bottom: 0;
                background-color: rgba(0, 0, 0, 0.4);
                max-height: 84px;
                .info-title {
                    font-size: 14px;
                }
                .info-body {
                    font-size: 13px;
                }
            }
        }
    }


</style>